# -*- coding: utf-8 -*-
"""
@Time    : 2021/10/12 8:24
@Author  : Leibuyun
@File    : 1.16 过滤序列元素.py
"""

mylist = [1, 4, -5, 10, -6, 2, 3, -1]
# 方法一： 列表推导
l1 = [n for n in mylist if n > 0]

# 方法二： 使用filter()函数
l2 = list(filter(lambda x: x > 0, mylist))

# 方法三： 使用itertools.compress()
from itertools import compress

more5 = [n > 5 for n in mylist]
l3 = list(compress(mylist, more5))  # 关键在于先创建一个Boolean序列，指定哪些元素符合条件

print(l1)
print(l2)
print(l3)
